package com.xxgc.eow.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 选择题
 * </p>
 *
 * @author Mr.Abel
 * @since 2023-05-18
 */
@Getter
@Setter
@Schema(name = "Choosetopic", description = "选择题")
public class Choosetopic implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "选择题目id")
    @TableId(value = "choose_id", type = IdType.AUTO)
    private Integer chooseId;

    @Schema(description = "题库id")
    private Integer topicLibraryId;

    @Schema(description = "选择题题目内容")
    private String chooseTitle;

    @Schema(description = "题目作者")
    private Integer chooseWriter;

    @Schema(description = "题目语言")
    private String languageId;

    @Schema(description = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    @Schema(description = "销毁时间")
    private LocalDateTime destoryTime;

    @Schema(description = "假删除状态")
    private Byte tip;

    @Schema(description = "题目难度等级（1简单2中等3困难）")
    private Byte chooseLevel;

    @Schema(description = "题目题解内容")
    private String chooseAnswer;

    public Choosetopic(Integer chooseId, Integer topicLibraryId, String chooseTitle, Integer chooseWriter, String languageId, LocalDateTime createTime, LocalDateTime destoryTime, Byte tip, Byte chooseLevel, String chooseAnswer, List<Choosecontent> choosecontents) {
        this.chooseId = chooseId;
        this.topicLibraryId = topicLibraryId;
        this.chooseTitle = chooseTitle;
        this.chooseWriter = chooseWriter;
        this.languageId = languageId;
        this.createTime = createTime;
        this.destoryTime = destoryTime;
        this.tip = tip;
        this.chooseLevel = chooseLevel;
        this.chooseAnswer = chooseAnswer;
        this.choosecontents = choosecontents;
    }

    public String getChooseAnswer() {
        return chooseAnswer;
    }

    public void setChooseAnswer(String chooseAnswer) {
        this.chooseAnswer = chooseAnswer;
    }

    private List<Choosecontent> choosecontents;

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public Integer getChooseId() {
        return chooseId;
    }

    public void setChooseId(Integer chooseId) {
        this.chooseId = chooseId;
    }

    public Integer getTopicLibraryId() {
        return topicLibraryId;
    }

    public void setTopicLibraryId(Integer topicLibraryId) {
        this.topicLibraryId = topicLibraryId;
    }

    public String getChooseTitle() {
        return chooseTitle;
    }

    public void setChooseTitle(String chooseTitle) {
        this.chooseTitle = chooseTitle;
    }

    public Integer getChooseWriter() {
        return chooseWriter;
    }

    public void setChooseWriter(Integer chooseWriter) {
        this.chooseWriter = chooseWriter;
    }

    public String getLanguageId() {
        return languageId;
    }

    public void setLanguageId(String languageId) {
        this.languageId = languageId;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    public LocalDateTime getDestoryTime() {
        return destoryTime;
    }

    public void setDestoryTime(LocalDateTime destoryTime) {
        this.destoryTime = destoryTime;
    }

    public Byte getTip() {
        return tip;
    }

    public void setTip(Byte tip) {
        this.tip = tip;
    }

    public Byte getChooseLevel() {
        return chooseLevel;
    }

    public void setChooseLevel(Byte chooseLevel) {
        this.chooseLevel = chooseLevel;
    }

    public List<Choosecontent> getChoosecontents() {
        return choosecontents;
    }

    public void setChoosecontents(List<Choosecontent> choosecontents) {
        this.choosecontents = choosecontents;
    }

    public Choosetopic() {
    }

    @Override
    public String toString() {
        return "Choosetopic{" +
                "chooseId=" + chooseId +
                ", topicLibraryId=" + topicLibraryId +
                ", chooseTitle='" + chooseTitle + '\'' +
                ", chooseWriter=" + chooseWriter +
                ", languageId='" + languageId + '\'' +
                ", createTime=" + createTime +
                ", destoryTime=" + destoryTime +
                ", tip=" + tip +
                ", chooseLevel=" + chooseLevel +
                ", chooseAnswer='" + chooseAnswer + '\'' +
                ", choosecontents=" + choosecontents +
                '}';
    }
}
